#ifndef BASEXML_H
#define BASEXML_H

#include <libxml/parser.h>
#include <libxml/tree.h>
#include <libxml/encoding.h>
#include <string>

class BaseXml
{
public:
	/// 解析来自于文件中的XML内容
    bool loadXML(const std::string& filename);

	/// 解析来自于内存的XML内容
    bool readXML(const std::string& content);

	/// 得到根节点指针
    xmlNodePtr GetRootNode();

    const char* GetNodeName(xmlNodePtr node);
    xmlNodePtr GetChildNode(xmlNodePtr parentnode, const char* NodeText);

    std::string GetNodeAttr(xmlNodePtr curNode, const char* AttrText);
    std::string GetNodeText(xmlNodePtr curNode);

public:
    BaseXml();

    ~BaseXml();
public:
	xmlDocPtr m_doc;

};

#endif
